﻿
#pragma once
#include <Windows.h>

enum DNF设置项ID
{
	//装备
	设置_上衣,
	设置_下装,
	设置_护肩,
	设置_腰带,
	设置_鞋子,
	设置_手镯,
	设置_项链,
	设置_戒指,
	设置_左槽,
	设置_右槽,
	设置_耳环,
	设置_武器,
	设置_称号,
	设置_宠物,

	设置_上衣贴膜,
	设置_下装贴膜,
	设置_护肩贴膜,
	设置_腰带贴膜,
	设置_鞋子贴膜,
	设置_手镯贴膜,
	设置_项链贴膜,
	设置_戒指贴膜,
	设置_左槽贴膜,
	设置_右槽贴膜,
	设置_耳环贴膜,
	设置_武器贴膜,

	设置_上衣强化类型,
	设置_下装强化类型,
	设置_护肩强化类型,
	设置_腰带强化类型,
	设置_鞋子强化类型,
	设置_手镯强化类型,
	设置_项链强化类型,
	设置_戒指强化类型,
	设置_左槽强化类型,
	设置_右槽强化类型,
	设置_耳环强化类型,
	设置_武器强化类型,

	设置_上衣强化等级,
	设置_下装强化等级,
	设置_护肩强化等级,
	设置_腰带强化等级,
	设置_鞋子强化等级,
	设置_手镯强化等级,
	设置_项链强化等级,
	设置_戒指强化等级,
	设置_左槽强化等级,
	设置_右槽强化等级,
	设置_耳环强化等级,
	设置_武器强化等级,
	设置_武器锻造等级,	//武器专属
	//设置_武器种类,		//有合并同类型武器的想法，但是代码会更麻烦，废弃

	设置_上衣附魔,
	设置_下装附魔,
	设置_护肩附魔,
	设置_腰带附魔,
	设置_鞋子附魔,
	设置_手镯附魔,
	设置_项链附魔,
	设置_戒指附魔,
	设置_左槽附魔,
	设置_右槽附魔,
	设置_耳环附魔,
	设置_武器附魔,
	设置_称号附魔,
	设置_宠物附魔,

	设置_上衣徽章1,
	设置_下装徽章1,
	设置_护肩徽章1,
	设置_腰带徽章1,
	设置_鞋子徽章1,
	设置_手镯徽章1,
	设置_项链徽章1,
	设置_戒指徽章1,
	设置_左槽徽章1,
	设置_右槽徽章1,
	设置_上衣徽章2,
	设置_下装徽章2,
	设置_护肩徽章2,
	设置_腰带徽章2,
	设置_鞋子徽章2,
	设置_手镯徽章2,
	设置_项链徽章2,
	设置_戒指徽章2,
	设置_左槽徽章2,	//占位，无用
	设置_右槽徽章2,	//占位，无用

	设置_上衣词条1,
	设置_上衣词条2,
	设置_上衣词条3,
	设置_上衣词条4,
	设置_下装词条1,
	设置_下装词条2,
	设置_下装词条3,
	设置_下装词条4,
	设置_护肩词条1,
	设置_护肩词条2,
	设置_护肩词条3,
	设置_护肩词条4,
	设置_腰带词条1,
	设置_腰带词条2,
	设置_腰带词条3,
	设置_腰带词条4,
	设置_鞋子词条1,
	设置_鞋子词条2,
	设置_鞋子词条3,
	设置_鞋子词条4,
	设置_手镯词条1,
	设置_手镯词条2,
	设置_手镯词条3,
	设置_手镯词条4,
	设置_项链词条1,
	设置_项链词条2,
	设置_项链词条3,
	设置_项链词条4,
	设置_戒指词条1,
	设置_戒指词条2,
	设置_戒指词条3,
	设置_戒指词条4,
	设置_左槽词条1,
	设置_左槽词条2,
	设置_左槽词条3,
	设置_左槽词条4,
	设置_右槽词条1,
	设置_右槽词条2,
	设置_右槽词条3,
	设置_右槽词条4,
	设置_耳环词条1,
	设置_耳环词条2,
	设置_耳环词条3,
	设置_耳环词条4,
	设置_武器词条1,
	设置_武器词条2,
	设置_武器词条3,
	设置_武器词条4,

	设置_武器融合词条1,
	设置_武器融合词条2,
	设置_武器融合词条3,
	设置_左槽融合词条1,
	设置_左槽融合词条2,
	设置_左槽融合词条3,
	设置_右槽融合词条1,
	设置_右槽融合词条2,
	设置_右槽融合词条3,
	设置_耳环融合词条1,
	设置_耳环融合词条2,
	设置_耳环融合词条3,

	设置_手镯融合升级,
	设置_项链融合升级,
	设置_戒指融合升级,
	设置_左槽融合升级,
	设置_右槽融合升级,
	设置_耳环融合升级,

	//设置_武器升级雾神,	//废弃，选择雾神武器后，自动忽略巴卡尔贴膜
	设置_武器星团等级,
	设置_武器梦境等级,
	设置_武器记忆等级,

	//装扮和特色
	设置_装扮头部品质,
	设置_装扮帽子品质,
	设置_装扮脸部品质,
	设置_装扮胸部品质,
	设置_装扮上衣品质,
	设置_装扮下装品质,
	设置_装扮腰部品质,
	设置_装扮鞋子品质,
	设置_装扮头部属性,
	设置_装扮帽子属性,
	设置_装扮脸部属性,
	设置_装扮胸部属性,
	设置_装扮上衣属性,
	设置_装扮下装属性,
	设置_装扮腰部属性,
	设置_装扮鞋子属性,

	设置_武器装扮,
	设置_武器装扮徽章1,
	设置_武器装扮徽章2,
	设置_皮肤,
	设置_皮肤徽章1,
	设置_皮肤徽章2,
	设置_光环,
	设置_光环徽章1,
	设置_光环徽章2,

	设置_辟邪玉词条1,
	设置_辟邪玉词条2,
	设置_辟邪玉词条3,
	设置_辟邪玉词条4,
	//尝试使用Slider调整辟邪玉，如果有问题还是按DropList添加选项
	设置_辟邪玉词条1属性,
	设置_辟邪玉词条2属性,
	设置_辟邪玉词条3属性,
	设置_辟邪玉词条4属性,
	//设置_辟邪玉词条1属性_技攻,
	//设置_辟邪玉词条1属性_伤害和速度,
	//设置_辟邪玉词条1属性_技能等级,
	//设置_辟邪玉词条2属性_技攻,
	//设置_辟邪玉词条2属性_伤害和速度,
	//设置_辟邪玉词条2属性_技能等级,
	//设置_辟邪玉词条3属性_技攻,
	//设置_辟邪玉词条3属性_伤害和速度,
	//设置_辟邪玉词条3属性_技能等级,
	//设置_辟邪玉词条4属性_技攻,
	//设置_辟邪玉词条4属性_伤害和速度,
	//设置_辟邪玉词条4属性_技能等级,

	//杂项
	设置_星辰百变数量,
	设置_副武器状态,
	设置_副武器强化,
	设置_红色宠物装备,
	设置_蓝色宠物装备,
	设置_绿色宠物装备,
	设置_快捷栏装备,
	设置_勋章品质,
	设置_勋章强化,
	设置_守护珠1品质,
	设置_守护珠2品质,
	设置_守护珠3品质,
	设置_守护珠4品质,
	设置_冒险团等级,
	设置_公会属性,
	设置_公会训练官属性1,
	设置_公会训练官属性2,
	设置_婚房属性,
	设置_婚戒属性,
	设置_晶体契约,
	设置_名称装饰卡,
	设置_收集箱类型,
	设置_收集箱稀有数量,
	设置_收集箱神器数量,

	//补正
	设置_辅助力智加成,
	设置_辅助三攻加成,
	设置_辅助技攻加成,
	设置_四维补正,
	设置_三攻补正,
	设置_技攻补正,
	设置_攻击强化补正,
	设置_攻击强化增幅补正,
	设置_火强补正,
	设置_冰强补正,
	设置_光强补正,
	设置_暗强补正,
	设置_火抗补正,
	设置_冰抗补正,
	设置_光抗补正,
	设置_暗抗补正,
	设置_异常状态1补正,
	设置_异常状态2补正,
	设置_异常状态3补正,
	设置_异常状态4补正,
	设置_异常状态5补正,
	设置_异常状态6补正,
	设置_异常状态7补正,
	设置_异常状态8补正,
	设置_异常状态9补正,
	设置_异常状态10补正,
	设置_异常状态11补正,
	设置_异常状态12补正,
	设置_异常状态13补正,
	设置_攻速补正,
	设置_技能范围补正,
	设置_MP消耗量补正,

	//特性
	//当前特性每类最多14个，多出来的不使用
	设置_特性类型,
	设置_特性1等级,
	设置_特性2等级,
	设置_特性3等级,
	设置_特性4等级,
	设置_特性5等级,
	设置_特性6等级,
	设置_特性7等级,
	设置_特性8等级,
	设置_特性9等级,
	设置_特性10等级,
	设置_特性11等级,
	设置_特性12等级,
	设置_特性13等级,
	设置_特性14等级,

	//技能
	//奶妈18主动+7被动+12TP，剑帝18主动+5被动+12TP
	//防具精通不计入，基础精通不计入，TP技能不作为单独的技能
	//预留20个主动槽位，10个被动槽位，根据设置的职业专属Flag判断是否使用
	//次数和职业Buff都是Value类型，其余为Index类型
	设置_主动技能1等级,
	设置_主动技能2等级,
	设置_主动技能3等级,
	设置_主动技能4等级,
	设置_主动技能5等级,
	设置_主动技能6等级,
	设置_主动技能7等级,
	设置_主动技能8等级,
	设置_主动技能9等级,
	设置_主动技能10等级,
	设置_主动技能11等级,
	设置_主动技能12等级,
	设置_主动技能13等级,
	设置_主动技能14等级,
	设置_主动技能15等级,
	设置_主动技能16等级,
	设置_主动技能17等级,
	设置_主动技能18等级,
	设置_主动技能19等级,
	设置_主动技能20等级,

	设置_主动技能1TP等级,
	设置_主动技能2TP等级,
	设置_主动技能3TP等级,
	设置_主动技能4TP等级,
	设置_主动技能5TP等级,
	设置_主动技能6TP等级,
	设置_主动技能7TP等级,
	设置_主动技能8TP等级,
	设置_主动技能9TP等级,
	设置_主动技能10TP等级,
	设置_主动技能11TP等级,
	设置_主动技能12TP等级,
	设置_主动技能13TP等级,
	设置_主动技能14TP等级,
	设置_主动技能15TP等级,
	设置_主动技能16TP等级,
	设置_主动技能17TP等级,
	设置_主动技能18TP等级,
	设置_主动技能19TP等级,
	设置_主动技能20TP等级,

	设置_主动技能1次数,
	设置_主动技能2次数,
	设置_主动技能3次数,
	设置_主动技能4次数,
	设置_主动技能5次数,
	设置_主动技能6次数,
	设置_主动技能7次数,
	设置_主动技能8次数,
	设置_主动技能9次数,
	设置_主动技能10次数,
	设置_主动技能11次数,
	设置_主动技能12次数,
	设置_主动技能13次数,
	设置_主动技能14次数,
	设置_主动技能15次数,
	设置_主动技能16次数,
	设置_主动技能17次数,
	设置_主动技能18次数,
	设置_主动技能19次数,
	设置_主动技能20次数,

	设置_主动技能1宠物次数,
	设置_主动技能2宠物次数,
	设置_主动技能3宠物次数,
	设置_主动技能4宠物次数,
	设置_主动技能5宠物次数,
	设置_主动技能6宠物次数,
	设置_主动技能7宠物次数,
	设置_主动技能8宠物次数,
	设置_主动技能9宠物次数,
	设置_主动技能10宠物次数,
	设置_主动技能11宠物次数,
	设置_主动技能12宠物次数,
	设置_主动技能13宠物次数,
	设置_主动技能14宠物次数,
	设置_主动技能15宠物次数,
	设置_主动技能16宠物次数,
	设置_主动技能17宠物次数,
	设置_主动技能18宠物次数,
	设置_主动技能19宠物次数,
	设置_主动技能20宠物次数,

	设置_主动技能1手搓次数,
	设置_主动技能2手搓次数,
	设置_主动技能3手搓次数,
	设置_主动技能4手搓次数,
	设置_主动技能5手搓次数,
	设置_主动技能6手搓次数,
	设置_主动技能7手搓次数,
	设置_主动技能8手搓次数,
	设置_主动技能9手搓次数,
	设置_主动技能10手搓次数,
	设置_主动技能11手搓次数,
	设置_主动技能12手搓次数,
	设置_主动技能13手搓次数,
	设置_主动技能14手搓次数,
	设置_主动技能15手搓次数,
	设置_主动技能16手搓次数,
	设置_主动技能17手搓次数,
	设置_主动技能18手搓次数,
	设置_主动技能19手搓次数,
	设置_主动技能20手搓次数,

	设置_主动技能1手搓方向键数量,
	设置_主动技能2手搓方向键数量,
	设置_主动技能3手搓方向键数量,
	设置_主动技能4手搓方向键数量,
	设置_主动技能5手搓方向键数量,
	设置_主动技能6手搓方向键数量,
	设置_主动技能7手搓方向键数量,
	设置_主动技能8手搓方向键数量,
	设置_主动技能9手搓方向键数量,
	设置_主动技能10手搓方向键数量,
	设置_主动技能11手搓方向键数量,
	设置_主动技能12手搓方向键数量,
	设置_主动技能13手搓方向键数量,
	设置_主动技能14手搓方向键数量,
	设置_主动技能15手搓方向键数量,
	设置_主动技能16手搓方向键数量,
	设置_主动技能17手搓方向键数量,
	设置_主动技能18手搓方向键数量,
	设置_主动技能19手搓方向键数量,
	设置_主动技能20手搓方向键数量,

	设置_被动技能1等级,
	设置_被动技能2等级,
	设置_被动技能3等级,
	设置_被动技能4等级,
	设置_被动技能5等级,
	设置_被动技能6等级,
	设置_被动技能7等级,
	设置_被动技能8等级,
	设置_被动技能9等级,
	设置_被动技能10等级,

	设置_职业Buff技能提升率,

	设置_护石1,
	设置_护石2,
	设置_护石3,
	设置_符文1,
	设置_符文2,
	设置_符文3,
	设置_符文4,
	设置_符文5,
	设置_符文6,
	设置_符文7,
	设置_符文8,
	设置_符文9,
	设置_符文1颜色,
	设置_符文2颜色,
	设置_符文3颜色,
	设置_符文4颜色,
	设置_符文5颜色,
	设置_符文6颜色,
	设置_符文7颜色,
	设置_符文8颜色,
	设置_符文9颜色,

	//由于职业特殊设置使用CheckBox，需要使用名字，所以每个职业分开定义
	//每个职业的代码肯定知道此设置项的存在，预留2个槽位
	设置_奶妈特殊设置1,
	设置_奶妈特殊设置2,
	设置_剑帝特殊设置1,
	设置_剑帝特殊设置2,

	//以下为条件设置
	设置_场景,
	设置_怪物,

	设置_药剂1,
	设置_药剂2,
	设置_药剂3,
	设置_药剂4,
	设置_药剂5,
	设置_药剂6,
	设置_药剂7,
	设置_药剂8,
	设置_药剂9,
	设置_药剂10,
	设置_药剂11,
	设置_药剂12,
	设置_药剂13,
	
	设置_出血持续时间,
	设置_中毒持续时间,
	设置_灼伤持续时间,
	设置_感电持续时间,

	设置_出血层数,
	设置_中毒层数,
	设置_感电层数,

	设置_控制型异常开关,
	设置_控制型异常触发频率,

	设置_HP范围,
	设置_MP范围,
	设置_队员数量,
	设置_怪物数量,

	设置_机械怪物,
	设置_恶魔怪物,
	设置_精灵怪物,
	设置_天使怪物,
	设置_龙族怪物,
	设置_人型怪物,
	设置_野兽怪物,
	设置_植物怪物,
	设置_不死怪物,
	设置_昆虫怪物,

	设置_普通敌人,
	设置_稀有敌人,
	设置_精英敌人,
	设置_领主敌人,
	设置_正面攻击,
	设置_背面攻击,
	设置_破招攻击,
	设置_非破招攻击,

	设置_自身出血状态,
	设置_自身中毒状态,
	设置_自身灼伤状态,
	设置_自身感电状态,
	设置_自身冰冻状态,
	设置_自身减速状态,
	设置_自身眩晕状态,
	设置_自身诅咒状态,
	设置_自身失明状态,
	设置_自身石化状态,
	设置_自身睡眠状态,
	设置_自身混乱状态,
	设置_自身束缚状态,

	设置_怪物出血状态,
	设置_怪物中毒状态,
	设置_怪物灼伤状态,
	设置_怪物感电状态,
	设置_怪物冰冻状态,
	设置_怪物减速状态,
	设置_怪物眩晕状态,
	设置_怪物诅咒状态,
	设置_怪物失明状态,
	设置_怪物石化状态,
	设置_怪物睡眠状态,
	设置_怪物混乱状态,
	设置_怪物束缚状态,

	//启用网吧特权,
	//暴击率补正,
	//系统奶人数,
	//具现特性算法,
	//成长契约加成,

	DNF设置项总数,
};

void InitSettingDatabase();
void UninitSettingDatabase();
BOOL LoadUserSetting(int CurrentJob);
BOOL SaveUserSetting(int CurrentJob);
void ResetDropList(int SettingIndex,int CtrlId,int PageId);
void ResetCheckBox(int SettingIndex,int CtrlId,int PageId);
void ResetEdit(int SettingIndex,int CtrlId,int PageId);
int GetIndexSetting(int SettingIndex);
float GetValueSetting(int SettingIndex);
void ChangeSettingByUI_Index(int SettingIndex,int Index);
void ChangeSettingByUI_Value(int SettingIndex,float Value);
void SubmitSettingChange();